package com.base.logistics.sf.bean.print;

import cn.hutool.core.util.IdUtil;
import com.base.logistics.config.SfConfig;
import com.base.logistics.utils.SfGsonBuilder;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * <pre>
 * 打印数据请求对象
 * </pre>
 * @since 2021-03-06
 */
public class PrintSfPushRequest implements Serializable {

    /**
     * 接口服务代码
     */
    private String serviceCode;

    /**
     * 物流公司代码，SF代表顺丰
     * <pre>
     * 是否必填： 是
     * </pre>
     */
    private String logisticID;

    /**
     * 发送请求中的ID,请求唯一号UUID
     * <pre>
     * 是否必填： 是
     * </pre>
     */
    private String requestID;


    /**
     * 调用接口时间戳
     */
    private Long timestamp;

    /**
     * 数字签名 同CP请求SF的加密方式相同
     * <pre>
     * 是否必填： 是
     * </pre>
     */
    private String msgDigest;


    /**
     * 	业务数据报文
     * <pre>
     * 是否必填： 是
     * </pre>
     */
    private String msgData;

    /**
     * 	业务数据报文
     * <pre>
     * 是否必填： 否
     * </pre>
     */
    private Integer nonce;

    public String getServiceCode() {
        return serviceCode;
    }

    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }

    public String getLogisticID() {
        return logisticID;
    }

    public void setLogisticID(String logisticID) {
        this.logisticID = logisticID;
    }

    public String getRequestID() {
        return requestID;
    }

    public void setRequestID(String requestID) {
        this.requestID = requestID;
    }

    public Long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(Long timestamp) {
        this.timestamp = timestamp;
    }

    public String getMsgDigest() {
        return msgDigest;
    }

    public void setMsgDigest(String msgDigest) {
        this.msgDigest = msgDigest;
    }

    public String getMsgData() {
        return msgData;
    }

    public void setMsgData(String msgData) {
        this.msgData = msgData;
    }

    public Integer getNonce() {
        return nonce;
    }

    public void setNonce(Integer nonce) {
        this.nonce = nonce;
    }

    public String toJson() {
        return SfGsonBuilder.create().toJson(this);
    }
}
